<?php

namespace app\index\model;

use think\Db;
use think\Model;

/*
 * 订单项目预约
 */
class CtmStaff extends Model
{
    /*
     * 属于某个订单
     */
    public function order()
    {
        return $this->belongsTo('Order', 'order_id', 'id')->field('id, status, pay_money');
    }

    /*
     * 预约的客户信息
     */
    public function custom()
    {
        return $this->belongsTo('Custom', 'ctm_id', 'id')->field('id, custom_phone, custom_name, custom_photo');
    }

    /*
     * 预约的项目信息
     */
    public function item()
    {
        return $this->belongsTo('Item', 'item_id', 'id')->field('id, service_time, item_name');
    }

    /*
     * 预约的员工信息
     */
    public function staff()
    {
        return $this->belongsTo('Staff', 'staff_id', 'id')->field('id, staff_name, telephone, staff_rank');
    }

    /*
     * 返回预约收入
     */
    public static function getCtmStaffIncome($yuyue_id)
    {
        $income = 0.00;

        $row = Db::table('da_ctm_staff')->alias('ctm_staff')
            ->join('da_order order', 'order.id = ctm_staff.order_id', 'INNER')
            ->join('da_ord_pro ord_pro', 'ord_pro.ord_id = order.id', 'INNER')
            ->where('ctm_staff.id', '=', $yuyue_id)
            ->field('ctm_staff.item_id, order.pay_money, order.kkm_money, ord_pro.type, ord_pro.pro_id, ord_pro.number')
            ->find();

        if (!is_null($row)) {
            $item_id = $row['item_id'];

            $pay_money = bcsub($row['pay_money'], $row['kkm_money'], 2);
            $type = $row['type'];
            $pro_id = $row['pro_id'];
            $number = $row['number'];

            if ($type == Order::TYPE_1 || $type == Order::TYPE_3) {
                //商品 VIP卡

                //pass
            } else if ($type == Order::TYPE_2) {
                //项目
                //根据购买次数平均分配金额

                if ($pay_money > 0) {
                    $income = bcdiv($pay_money, $number, 2);
                }

            } else if ($type == Order::TYPE_4) {
                //体验卡
                //全部项目完成以后全部给第一个预约的美容师

                if ($pay_money > 0) {
                    $full_price = Expercard::where('id', '=', $pro_id)
                        ->value('full_price');

                    $expercard_item = ExpercardItem::where('expercard_id', '=', $pro_id)
                        ->field('item_id, item_price')
                        ->select();

                    foreach ($expercard_item as $v) {
                        if ($v['item_id'] == $item_id) {
                            $income = bcmul($pay_money, $v['item_price'] / $full_price, 2);
                        }
                    }

                }


            } else if ($type == Order::TYPE_5) {
                //秒杀
                //一个秒杀只有一个项目，只能预约一次，金额全部算该美容师

                if ($pay_money > 0) {
                    $income = $pay_money;
                }
            } else if ($type == Order::TYPE_6) {
                //限时抢购

                //秒杀
                //一个秒杀只有一个项目，只能预约一次，金额全部算该美容师

                if ($pay_money > 0) {
                    $income = $pay_money;
                }
            }

        }

        return $income;
    }

}